

import java.util.Collection;
import java.util.Iterator;

/**
 * @uml.dependency   supplier="Mundo" stereotypes="Soyatec::Access"
 */
public class Jugador {

	/**
	 * @uml.property  name="tablero"
	 * @uml.associationEnd  inverse="jugador:Tablero"
	 */
	private Tablero tablero;

	/**
	 * Getter of the property <tt>tablero</tt>
	 * @return  Returns the tablero.
	 * @uml.property  name="tablero"
	 */
	public Tablero getTablero() {
		return tablero;
	}

	/**
	 * Setter of the property <tt>tablero</tt>
	 * @param tablero  The tablero to set.
	 * @uml.property  name="tablero"
	 */
	public void setTablero(Tablero tablero) {
		this.tablero = tablero;
	}

	/**
	 * @uml.property  name="iMundo"
	 * @uml.associationEnd  inverse="jugador:IMundo"
	 */
	private IMundo mundo;

	/**
	 * Getter of the property <tt>iMundo</tt>
	 * @return  Returns the mundo.
	 * @uml.property  name="iMundo"
	 */
	public IMundo getIMundo() {
		return mundo;
	}

	/**
	 * Setter of the property <tt>iMundo</tt>
	 * @param iMundo  The mundo to set.
	 * @uml.property  name="iMundo"
	 */
	public void setIMundo(IMundo mundo) {
		this.mundo = mundo;
	}

	/**
	 * @uml.property  name="mundo"
	 * @uml.associationEnd  inverse="jugador:Mundo"
	 */
	private Mundo mundo1;

	/**
	 * Getter of the property <tt>mundo</tt>
	 * @return  Returns the mundo1.
	 * @uml.property  name="mundo"
	 */
	public Mundo getMundo() {
		return mundo1;
	}

	/**
	 * Setter of the property <tt>mundo</tt>
	 * @param mundo  The mundo1 to set.
	 * @uml.property  name="mundo"
	 */
	public void setMundo(Mundo mundo) {
		mundo1 = mundo;
	}

	/**
	 * @uml.property  name="tablero1"
	 * @uml.associationEnd  multiplicity="(2 2)" aggregation="composite" inverse="jugador1:Tablero"
	 */
	private Collection tablero1;

	/**
	 * Getter of the property <tt>tablero1</tt>
	 * @return  Returns the tablero1.
	 * @uml.property  name="tablero1"
	 */
	public Collection getTablero1() {
		return tablero1;
	}

	/**
	 * Returns an iterator over the elements in this collection. 
	 * @return  an <tt>Iterator</tt> over the elements in this collection
	 * @see java.util.Collection#iterator()
	 * @uml.property  name="tablero1"
	 */
	public Iterator tablero1Iterator() {
		return tablero1.iterator();
	}

	/**
	 * Returns <tt>true</tt> if this collection contains no elements.
	 * @return  <tt>true</tt> if this collection contains no elements
	 * @see java.util.Collection#isEmpty()
	 * @uml.property  name="tablero1"
	 */
	public boolean isTablero1Empty() {
		return tablero1.isEmpty();
	}

	/**
	 * Returns <tt>true</tt> if this collection contains the specified element. 
	 * @param element  whose presence in this collection is to be tested.
	 * @see java.util.Collection#contains(Object)
	 * @uml.property  name="tablero1"
	 */
	public boolean containsTablero1(Tablero tablero) {
		return tablero1.contains(tablero);
	}

	/**
	 * Returns <tt>true</tt> if this collection contains all of the elements in the specified collection.
	 * @param elements  collection to be checked for containment in this collection.
	 * @see java.util.Collection#containsAll(Collection)
	 * @uml.property  name="tablero1"
	 */
	public boolean containsAllTablero1(Collection tablero1) {
		return this.tablero1.containsAll(tablero1);
	}

	/**
	 * Returns the number of elements in this collection.
	 * @return  the number of elements in this collection
	 * @see java.util.Collection#size()
	 * @uml.property  name="tablero1"
	 */
	public int tablero1Size() {
		return tablero1.size();
	}

	/**
	 * Returns all elements of this collection in an array.
	 * @return  an array containing all of the elements in this collection
	 * @see java.util.Collection#toArray()
	 * @uml.property  name="tablero1"
	 */
	public Tablero[] tablero1ToArray() {
		return (Tablero[]) tablero1.toArray(new Tablero[tablero1.size()]);
	}

	/**
	 * Returns an array containing all of the elements in this collection;  the runtime type of the returned array is that of the specified array.
	 * @param a  the array into which the elements of this collection are to be stored.
	 * @return  an array containing all of the elements in this collection
	 * @see java.util.Collection#toArray(Object[])
	 * @uml.property  name="tablero1"
	 */
	public Tablero[] tablero1ToArray(Tablero[] tablero1) {
		return (Tablero[]) this.tablero1.toArray(tablero1);
	}

	/**
	 * Ensures that this collection contains the specified element (optional operation). 
	 * @param element  whose presence in this collection is to be ensured.
	 * @see java.util.Collection#add(Object)
	 * @uml.property  name="tablero1"
	 */
	public boolean addTablero1(Tablero tablero) {
		return tablero1.add(tablero);
	}

	/**
	 * Setter of the property <tt>tablero1</tt>
	 * @param tablero1  the tablero1 to set.
	 * @uml.property  name="tablero1"
	 */
	public void setTablero1(Collection tablero1) {
		this.tablero1 = tablero1;
	}

	/**
	 * Removes a single instance of the specified element from this collection, if it is present (optional operation).
	 * @param element  to be removed from this collection, if present.
	 * @see java.util.Collection#add(Object)
	 * @uml.property  name="tablero1"
	 */
	public boolean removeTablero1(Tablero tablero) {
		return tablero1.remove(tablero);
	}

	/**
	 * Removes all of the elements from this collection (optional operation).
	 * @see java.util.Collection#clear()
	 * @uml.property  name="tablero1"
	 */
	public void clearTablero1() {
		tablero1.clear();
	}

	/**
	 * @uml.property   name="tablero2"
	 * @uml.associationEnd   inverse="jugador2:Tablero"
	 */
	private Tablero tablero2;

	/** 
	 * Getter of the property <tt>tablero2</tt>
	 * @return  Returns the tablero2.
	 * @uml.property  name="tablero2"
	 */
	public Tablero getTablero2() {
		return tablero2;
	}

	/** 
	 * Setter of the property <tt>tablero2</tt>
	 * @param tablero2  The tablero2 to set.
	 * @uml.property  name="tablero2"
	 */
	public void setTablero2(Tablero tablero2) {
		this.tablero2 = tablero2;
	}

	/**
	 * @uml.property  name="mano"
	 * @uml.associationEnd  multiplicity="(0 -1)" dimension="1" ordering="true" aggregation="composite" inverse="jugador:Mano"
	 */
	private Mano[] manos;

	/**
	 * Getter of the property <tt>mano</tt>
	 * @return  Returns the manos.
	 * @uml.property  name="mano"
	 */
	public Mano[] getMano() {
		return manos;
	}

	/**
	 * Setter of the property <tt>mano</tt>
	 * @param mano  The manos to set.
	 * @uml.property  name="mano"
	 */
	public void setMano(Mano[] mano) {
		manos = mano;
	}

	/**
	 * @uml.property  name="Puntos"
	 */
	private String puntos = "";

	/**
	 * Getter of the property <tt>Puntos</tt>
	 * @return  Returns the puntos.
	 * @uml.property  name="Puntos"
	 */
	public String getPuntos() {
		return puntos;
	}

	/**
	 * Setter of the property <tt>Puntos</tt>
	 * @param Puntos  The puntos to set.
	 * @uml.property  name="Puntos"
	 */
	public void setPuntos(String puntos) {
		this.puntos = puntos;
	}

	/**
	 * @uml.property  name="Nivel"
	 */
	private String nivel = "";

	/**
	 * Getter of the property <tt>Nivel</tt>
	 * @return  Returns the nivel.
	 * @uml.property  name="Nivel"
	 */
	public String getNivel() {
		return nivel;
	}

	/**
	 * Setter of the property <tt>Nivel</tt>
	 * @param Nivel  The nivel to set.
	 * @uml.property  name="Nivel"
	 */
	public void setNivel(String nivel) {
		this.nivel = nivel;
	}

	/**
	 * @uml.property  name="Puntuacion"
	 */
	private int puntuacion;

	/**
	 * Getter of the property <tt>Puntuacion</tt>
	 * @return  Returns the puntuacion.
	 * @uml.property  name="Puntuacion"
	 */
	public int getPuntuacion() {
		return puntuacion;
	}

	/**
	 * Setter of the property <tt>Puntuacion</tt>
	 * @param Puntuacion  The puntuacion to set.
	 * @uml.property  name="Puntuacion"
	 */
	public void setPuntuacion(int puntuacion) {
		this.puntuacion = puntuacion;
	}

	/**
	 * @uml.property  name="NivelJ"
	 */
	private String nivelJ = "";

	/**
	 * Getter of the property <tt>NivelJ</tt>
	 * @return  Returns the nivelJ.
	 * @uml.property  name="NivelJ"
	 */
	public String getNivelJ() {
		return nivelJ;
	}

	/**
	 * Setter of the property <tt>NivelJ</tt>
	 * @param NivelJ  The nivelJ to set.
	 * @uml.property  name="NivelJ"
	 */
	public void setNivelJ(String nivelJ) {
		this.nivelJ = nivelJ;
	}

		
		/**
		 */
		public void CreateJugador(){
		}

		/**
		 * @uml.property  name="Color"
		 */
		private String color = "";

		/**
		 * Getter of the property <tt>Color</tt>
		 * @return  Returns the color.
		 * @uml.property  name="Color"
		 */
		public String getColor() {
			return color;
		}

		/**
		 * Setter of the property <tt>Color</tt>
		 * @param Color  The color to set.
		 * @uml.property  name="Color"
		 */
		public void setColor(String color) {
			this.color = color;
		}

}
